High Performance and Low Complexity Scheduling Method for Adaptive Resource Usage in OFDMA Wireless Relay Networks

ABSTRACT

A method for scheduling transmissions in wireless network includes receiving information ranging from conventional data to real-time streaming applications into a basestation of an OFDMA wireless relay network and scheduling transmission of the information from the basestation by influencing adaptive frame segmentation and access hop reuse in the transmission of the information for achieving higher transmission flow of the information, Where the scheduling is formulated as an integer program, the scheduling includes solving a linear programming relaxation of the integer program and rounding to integral allocations with allocation to at least one of a subset of wireless users and subsets of relays in the network for obtaining frame segmentation and reuse. Where the scheduling is formulated by following a bisection approach to guide adaptation of the frame segmentation, the scheduling determines a subset of users with maximum flow per unit resource for a given frame segmentation and the resulting flow from current and previous scheduling being used to guide adaptation of frame segmentation towards convergence.

This application claims the benefit of U.S. Provisional Application No. 61/368,402, Docket No. 10025P, entitled, “Scheduling Algorithms for Adaptive Resource Usage in OFDMA Relay Networks”, filed Jul. 28, 2010, of which the contents of both are incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates generally to broadband and wireless communications and more particularly to a scheduling method for adaptive resource usage in orthogonal frequency-division multiple access OFDMA wireless relay networks.

There has been an increasing demand to provide ubiquitous mobile access for a multitude of services ranging from conventional data to real-time streaming applications. To meet such requirements, existing cellular systems need enhancement to provide improved data rates and connectivity. Adding less sophisticated and less expensive “relay” stations (RS) to the network helps improve the throughput and coverage in the network.

Unlike conventional cellular networks, the throughput performance of relay networks is closely tied to maximizing the network flow (throughput capacity) over the two hops of the network. This is however dependent on how well the available OFDMA resources are utilized on the two hops of the network. The upcoming relay standards in next generation broadband access technologies like WiMAX allow for two design features to accomplish this: (i) adaptive frame segmentation, and (ii) access hop reuse. While prior art has focused on designing scheduling algorithms for leveraging diversity and reuse across hops, they have not focused on designed scheduling methods that optimize adaptive frame segmentation and reuse within the access hop to efficiently utilize OFDMA resources.

Prior scheduling works in OFDMA relays have focused largely on leveraging diversity gains. One prior work considered spatial reuse across relay and access hops, but did not consider reuse within the access hop. Further, none of these works have studied the impact of adaptive frame segmentation coupled with access hop reuse on the network capacity through design of efficient scheduling algorithms with performance guarantees.

Accordingly, there is a need for an improved unicast throughput performance of relay-assisted OFDMA cellular networks through efficient usage of OFDMA resources.

BRIEF SUMMARY OF THE INVENTION

The invention is directed to a method for scheduling transmissions in wireless network including receiving information ranging from conventional data to real-time streaming applications into a basestation of an OFDMA wireless relay network; and scheduling transmission of the information from the basestation by influencing adaptive frame segmentation and access hop reuse in the transmission of the information for achieving higher transmission flow of the information, the scheduling including where the scheduling is formulated as an integer program, solving linear programming relaxation of the integer program with allocation to at least one of subset of wireless users and subsets of relays in the network for obtaining a fractional frame segmentation, where the scheduling is formulated by following a bisection approach to guide adaptation of the frame segmentation, the scheduling determining a bottleneck in the scheduling transmission for a given fractional frame segmentation and the resulting flow from current and previous scheduling being guided for adaptation towards convergence.

These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram representing adaptive resource usage scheduler with scheduling components 100, 200, and 300 at a basestation, in accordance with the invention;

FIG. 1 is a diagram of an linear programming (LP)-based scheduler with high performance LSAR1 component 100 with high performance, in accordance with the invention;

FIG. 2 is a diagram of an LP-based scheduler with low complexity LSAR2 component 200, in accordance with the invention; and

FIG. 3 is a diagram of a greedy scheduler GSAR component 300, in accordance with the invention;

DETAILED DESCRIPTION

The present invention is directed to the problem of designing scheduling methods to optimize frame segmentation and access hop reuse, which is a non-deterministic polynomial-time (NP) hard problem. Hence, the invention provides for an efficient scheduling method with good worst-case performance guarantees and near-optimal performance in practice. It also provides a simple greedy process with good performance that makes it conducive for implementation at the base station

Referring now FIG. 1A, a basestation BS scheduler, responsive to user rates, provides a transmission schedule based on adaptive frame segmentation and access hop reuse. The scheduler employs an LP-based scheduler with high performance LSAR1 (100) detailed in FIG. 1, an LP-based scheduler with low complexity LSAR2 (200) detailed in FIG. 2, and a greedy scheduler GSAR (300) detailed in FIG. 3. For purposes of discussion, LP denotes linear programming and SAR denotes per-frame scheduling for adaptive resource usage and LSAR denotes linear programming schedule for adaptive resource usage.

Referring now to FIG. 1, diagram for the LP-based scheduler with high performance LSAR1 (100), the scheduling problem is formulated as an integer program using subset allocation as variables 101.

${PSAR}\text{:}\mspace{14mu} {Maximize}\mspace{14mu} {\sum\limits_{s = 1}^{S}F_{s}}$ ${s.t.},\mspace{14mu} {{{\sum\limits_{k \in s}{w_{k,s}^{rel}X_{s}}} \geq F_{s}};{\forall{s \in S}}}$ ${{\sum\limits_{k \in s}{w_{k,s}^{acc}Y_{s}}} \geq F_{s}};{\forall{s \in S}}$ ${{\sum\limits_{s}X_{s}} \leq {\gamma \; N}};{X_{s} \in \left\{ {0,1,\ldots \mspace{14mu},{\gamma \; N}} \right\}}$ ${{\sum\limits_{s}Y_{s}} \leq {\left( {T - \gamma} \right)N}};{Y_{s} \in \left\{ {0,1,\ldots \mspace{14mu},{\left( {T - \gamma} \right)N}} \right\}}$ where, γ ∈ {0, 1, …  , T}, S = {S₁ × S₂  … × S_(R)}

Where N and T are the total number of channels and time slots, resulting in NT tiles in total for allocation; Xs and Ys indicate the # tiles allocated to subset s on relay and access hops respectively; a subset corresponds to a set of users with at most one user being picked from each relay; Fs is the weighted flow obtained subset s, which is given by the minimum flow resulting from the relay and access hops; S_(i) denotes the set of users associated with relay i (including a null user).

The weighted flow for a user in a subset (if user belongs to subset) on the access hop is given by: w_(k,s) ^(acc)=w_(k)r_(k,s) ^(acc), where w_(k) is the weight of the user taking into account fairness and quality of service QoS, while r_(k,s) ^(acc) is the rate of the user in the presence of interference from other users in the subset who will be scheduled in tandem with the user, reusing the same allocated tiles.

The weighted flow for a user in a subset (if user belongs to subset) on the relay hop is given by: determining the relative fraction of time a user needs to be active in the subset on the relay hop to deliver a given flow from the access hop:

${w_{k,s}^{rel} = \frac{w_{k,s}^{acc}}{\sum\limits_{j \in s}\frac{w_{j,s}^{acc}}{w_{j}^{rel}}}},$

where w_(k,s) ^(acc)=w_(k)r_(k,s) ^(acc).

Solve the LP relaxation of the above integer program to obtain optimal fractional frame segmentation γ*.

Then the scheduler 102 re-solves the LP relaxation of the above integer program with fixed integral γ=floor(γ*). Let output be Xs* and Ys*.

The scheduler continues 103 to round fractional allocations on access hop to the smallest integer larger than itself: Ŷ_(s)=┌Y_(s)*┐, ∀s; determine additional τ tiles needed over (T−γ)N: τ=Σ_(s)Ŷ_(s)−(T−γl)N store corresponding subsets in Γ: [Γ(1), . . . , Γ(τ)]

The scheduler 104 removes τ tiles yielding the smallest flow from the existing access hop allocation: Γ: Ŷ_(s)=Ŷ_(s)−1, ∀sεΓ.

The scheduler 105 determines flow for each user from access hop subset allocations; update user flow and fractional allocation on relay hop. The scheduler updates relay hop and allocation for each subset and user according to:

${X_{s}^{*} = \frac{\min \left\{ {F_{s}^{*},{\sum\limits_{k \in s}{w_{k,s}^{acc} \cdot {\hat{Y}}_{s}}}} \right\}}{\sum\limits_{k \in s}w_{k,s}^{rel}}},{{\forall s};{Z_{k}^{*} = \frac{\sum\limits_{s:{k \in s}}{w_{k,s}^{rel}X_{s}^{*}}}{w_{k}^{rel}}}},{\forall k}$

The scheduler 106 converts fractional allocations to integral ones by assigning a tile to a user with probability equal to the user's fractional allocation; obtain output flow:

Let Z_(k,I)*=└Z_(k)*┘, Z_(k,Q)*=Z_(k)*−Z_(k,I)*.

Assign integral allocations to respective users: {circumflex over (Z)}_(k)=Z_(k,I)*, ∀k.

With remaining η tiles: η=γlN−Σ_(k)Z_(k,I)*;

For η tiles, assign a tile to user k: {circumflex over (Z)}_(k)={circumflex over (Z)}_(k)+1 with probability Z_(k,Q)*.

Output flow: C(γl)=Σ_(k) min{{circumflex over (Z)}_(k); Z_(k)*}w_(k) ^(rel)

The scheduler 107 then re-solves the LP relaxation with fixed γ=floor(γ*)+1; Repeat steps 103-1 06 to obtain another schedule. Lastly the scheduler 108 outputs the better of the schedules (higher flow) among those corresponding to γ=floor(γ*) and γ=floor(γ*)+1.

Turning now to FIG. 2 diagram for the LP-based scheduler for adaptive resource usage with low complexity LSAR2(200), the scheduler 201 formulates the scheduling problem as an integer program using both subset and user allocation as variables. CSAR denotes low complexity schedule of adaptive resource usage.

${CSAR}\text{:}\mspace{14mu} {Maximize}{\sum\limits_{k}F_{k}}$ subject  to, w_(k)^(rel)X_(k) ≥ F_(k); ∀k ${{\sum\limits_{a:{{R{(k)}} \in s}}{w_{k,s}^{acc}Y_{k,s}}} \geq F_{k}};{\forall k}$ ${{\sum\limits_{k}X_{k}} \leq {\gamma \; N}};{X_{k} \in {\left\{ {0,1,\ldots \mspace{14mu},{\gamma \; N}} \right\} \left\{ {{{{\sum\limits_{{k:{R{(k)}}} = r}Y_{k,s}} \leq Y_{s}};{\forall{r \in s}}},{{\forall{s \in {{{\sum\limits_{s}Y_{s}}} \leq {\left( {T - \gamma} \right)N}}}};Y_{s}},{Y_{k,s} \in {\left\{ {0,1,\ldots \mspace{14mu},{\left( {T - \gamma} \right)N}} \right\}.{where}}},{\gamma \in \left\{ {0,1,\ldots \mspace{14mu},T} \right\}},{ = \left\{ {{Subsets}\mspace{14mu} {of}\mspace{14mu} {relays}} \right\}}} \right.}}$

The key difference between the formulations in LSAR1 of FIG. 1 and LSAR2 of FIG. 2 is that LSAR2 considers only subsets of relays instead of subsets of users in LSAR1. This significantly reduces the # subsets and hence complexity from O(K̂R) to O(R̂R). However, for each subset allocation (Ys), there could be multiple users sharing the subset allocation within each relay in the subset (Y(k,s)).

The procedure to determine the optimal frame segmentation is similar to that in LSAR1. Hence, steps 201, 202, 207 and 208 are similar to steps 101, 102, 107 and 108. The difference lies in how the fractional allocations from the LP relaxation of the above formulation are converted to integral allocations. This is discussed in the following steps 203-206.

Step 203, the scheduler rounds fractional allocations to subsets of relays on access hop to the smallest integer larger than itself; determine additional τ tiles needed over (T−γ)N: Ý_(s)=┌Y_(s)*┐, let {circumflex over (Z)}_(s)=Ŷ_(s) rem=Σ_(s)Ŷ_(s)−(T−γ)N.

In step 204 a the scheduler determines integral allocation for users given a subset allocation; apply greedy rounding yielding smallest loss during integral tile allocation. Integral allocation within each relay with Ŷ_(s) as input: Output Ŷ_(k,s), ∀(k): R(k)=r, ∀rεs.

In step 204 the scheduler determines marginal loss due to one tile from each subset; remove a tile from subset yielding the smallest marginal loss—update the subset's marginal loss; repeat till τ tiles have been removed. Similarly obtain integral allocation with {circumflex over (Z)}_(s)=Ŷ_(s)−1 as input: Output {circumflex over (Z)}_(k,s), ∀k: R(k)=r, ∀r εs. Determine flow loss from one tile: ΔL_(s)=Σ_(rεs)Σ_(k:R(k)=r)(Y_(k,s)−Z_(k,s))w_(k,s) ^(acc). The remaining step 204 substeps include the following recursive sequence:

while rem=0 do

-   -   Determine ŝ=arg min_(s){ΔL_(s)}     -   Reduce ŝ allocation by a tile: Ŷ_(ŝ)=Ŷ_(ŝ)−1; Update rem=rem−1     -   Update integral allocation for subset ŝ with Ŷ_(ŝ) as input:     -   Output Ŷ_(k,ŝ), ∀k: R(k)=r, ∀rεŝ     -   Update integral allocation for ŝ with {circumflex over         (Z)}_(ŝ)=Ŷ_(ŝ)−1 as input: Output {circumflex over (Z)}_(k,ŝ),         ∀k: R(k)=r, ∀rεŝ     -   Update marginal loss for ŝ:         ΔL_(s)=Σ_(rεŝ)Σ_(k:R(k)−r)(Ŷ_(k,ŝ)−{circumflex over         (Z)}_(k,ŝ))w_(k,ŝ) ^(acc)

In step 205 the scheduler determines flow for each user from access hop allocations in different subsets; update user flow and fractional allocation on relay hop. Based on access hop integral flow, update relay hop user allocation per

${X_{k}^{*} = \frac{\min \left\{ {{\sum\limits_{s:{{R{(k)}} \in s}}{w_{k,s}^{acc}Y_{k,s}}},F_{k}^{*}} \right\}}{w_{k}^{rel}}},$

Δk; Update {circumflex over (X)}_(k)=┌X_(k)*┐.

In step 206 the scheduler converts fractional allocations to integral ones similar to user integral allocation given a subset allocation on access hop. Obtain integral allocation by removing Σ_(k){circumflex over (X)}_(k)−γN tiles the smallest flow value from {{circumflex over (X)}_(k)}.

Turning now to FIG. 3, diagram for the greedy scheduler for adaptive resource usage GSAR (300), steps 301, 302, 307 follow a bisection approach to guide the adaptation of frame segmentation. It determines the bottleneck hop for a given γ and the resulting flow from current and previous schedules to guide the adaptation towards convergence. Sub-steps of 301 include:

while cur_flow ≧ α · prev_flow do   ${\gamma = {t_{l} + \left\lfloor \frac{\left( {t_{u} - t_{l}} \right)}{2} \right\rfloor}},{{prev\_ flow} = {cur\_ flow}}$ Initialize available tiles for allocation on relay and access hops.  C_(r) = γN, C_(a) = (T − γ)N Obtain the schedule and resulting flow for fixed γ  if C_(r) = 0 then bot = 0 else bot = 1  if bot = 0 then t_(l) = γ else t_(u) = γ end while

In step 303 the GSAR considers only subsets of relays and for every relay subset, it determines a corresponding subset of users as follows.

 = {Subset  of  relays} ${{Map}\mspace{14mu} {_{m}}\text{:}\mspace{14mu} {\forall s}} = {{\left\{ {r_{1},\ldots \mspace{14mu},r_{p}} \right\} \in {\mspace{14mu} {define}\mspace{14mu} m_{s}}} = {{\left\{ {k_{1},\ldots \mspace{14mu},k_{p}} \right\} \mspace{14mu} {where}\mspace{14mu} k_{i}} = {{argmax}_{{k:{R{(k)}}} = r_{i}}\left\{ \frac{w_{k}^{rel}w_{k,a}^{acc}}{w_{k}^{rel} + w_{k,s}^{acc}} \right\}}}}$

Then it selects the subset (of users) on access hop delivering maximum flow per unit tile based on remaining unallocated tiles in each hop.

Determine access flow from c_(α) (min{a, C_(a)}) tiles for subset s: f_(s) ^(acc) = Σ_(kεm) _(s) f_(k,s) ^(acc) = Σ_(kεm) _(s) c_(a)w_(k,s) ^(acc) Obtain tiles on relay hop to support f_(s) ^(acc) flow: c_(s,r) = $\Sigma_{k \in m_{s}}\left\lceil {{c_{a} \cdot \frac{w_{k,s}^{acc}}{w_{k}^{rel}}} - E_{k}} \right\rceil$ if c_(s,r) ≦ C_(r) then   $f_{s}^{rel} = {{\Sigma_{k \in m_{s}}\mspace{14mu} f_{k,s}^{rel}} = {\Sigma_{k \in m_{s}}\left\lceil {{c_{a} \cdot \frac{w_{k,s}^{acc}}{w_{k}^{rel}}} - E_{k}} \right\rceil w_{k}^{rel}}}$ else  Re-calculate user flow (f_(k,s) ^(rel) ≦ f_(k,s) ^(acc)) to maximize relay  flow (f_(s) ^(rel)) for given c_(s,r) = C_(r) tiles end if ${{Determine}\mspace{14mu} \hat{s}} = {\arg \mspace{14mu} {\max_{s}\left\{ \frac{\Sigma_{k \in m_{s}}\mspace{14mu} \min \left\{ {f_{k,s}^{rel},f_{k,s}^{acc}} \right\}}{c_{s,r} + c_{a}} \right\}}}$

In step 304 the GSAR, for selected subset and its users, allocates Ca tiles on access hop and corresponding # tiles on relay hop to sustain the flow on access hop, taking into account excess resource from previous allocations

Access  hop  allocations:  Y_(k, s) = Y_(k, s) + c_(a), ∀k ∈ m_(s) ${{Relay}\mspace{14mu} {hop}\mspace{14mu} {allocations}\text{:}\mspace{14mu} X_{k}} = {X_{k} + {\left\lceil {\frac{f_{k,s}^{rel}}{w_{k}^{rel}} - E_{k}} \right\rceil \cdot {\forall{k \in m_{s}}}}}$

In step 305, after allocation, the scheduler updates excess resource for users that receive more allocation than required to support the access hop flow

${{Update}\mspace{14mu} E_{k}} = {\left\lceil {\frac{f_{k,s}^{rel}}{w_{k}^{rel}} - E_{k}} \right\rceil - \left( {\frac{f_{k,s}^{rel}}{w_{k}^{rel}} - E_{k}} \right)}$

In step 306, the GSAR Update tiles remaining for allocation on both the hops. Repeat steps 303-306 until no tiles remain for allocation on either of the hops.

C _(a) =C _(a) −c _(a) ; C _(r) =C _(r) −c _(ŝ,r)

From the foregoing it can be seen that the present invention provides a number of benefits: a near-optimal solution for adaptive frame segmentation and access hop reuse; an alternate solution that significantly reduces running time complexity compared to the previous solution, while also providing a good performance in practice; a greedy solution with fast running times and good average case performance; and applies to the case where users have both backlogged and finite buffers and also for the uplink.

The foregoing is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that those skilled in the art may implement various modifications without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention. 

1. A method for scheduling transmissions in wireless network comprising the steps of: receiving information ranging from conventional data to real-time streaming applications into a basestation of an OFDMA wireless relay network; and scheduling transmission of said information from said basestation by influencing adaptive frame segmentation and access hop reuse jointly in said transmission of said information for achieving higher transmission flow of said information, said scheduling comprising: where said scheduling is formulated as an integer program, said scheduling solving a linear programming relaxation of said integer program and rounding to integral allocations with allocation to at least one of a subset of wireless users and subsets of relays in said network for obtaining frame segmentation and reuse, wherein said scheduling is formulated by following a bisection approach to guide adaptation of said frame segmentation, said scheduling determining a subset of users with maximum flow per unit resource for a given said frame segmentation and the resulting flow from current and previous said scheduling being used to guide adaptation of frame segmentation towards convergence.
 2. The method of claim 1, wherein said scheduling comprises determining additional τ tiles needed over (T−γ)N, where N and T are the total number of channels and time slots, resulting in NT tiles in total for allocation, said determining being responsive to rounding fractional allocations of subsets of users or relays on access hop to the smallest integer larger than itself.
 3. The method of claim 2, wherein said scheduling further comprises removing said τ tiles from subsets of users or relays yielding the smallest flow in transmission of said information.
 4. The method of claim 2, wherein said scheduling further comprises determining marginal loss due to one said tile from each of subset of users or relays, removing a tile from one subset of users or relays yielding a smallest marginal loss, updating said subset's marginal loss and repeating said determining, removing and updating till all said tiles have been removed.
 5. The method of claim 2, wherein said scheduling further comprises determining flow for each user in different access hop subset allocations and updating user flow and fractional allocation on said relay hop.
 6. The method of claim 1, wherein said scheduling comprises updating relay hop flow and allocation for each subset and user comprising ${X_{s}^{*} = \frac{\min \left\{ {F_{s}^{*},{\sum\limits_{k \in s}{w_{k,s}^{acc} \cdot {\hat{Y}}_{s}}}} \right\}}{\sum\limits_{k \in s}w_{k,s}^{rel}}},{{\forall s};}$ ${Z_{k}^{*} = \frac{\sum\limits_{s:{k \in s}}{w_{k,s}^{rel}X_{s}^{*}}}{w_{k}^{rel}}},{\forall k}$ Ŷ_(s) is the integral allocation for subset of users (s) from access hop; F_(s)* is the flow for subset s returned by LP relaxation solution; w_(k,s) ^(acc) is the flow of user k in subset s in access hop; w_(k,s) ^(rel) is the flow of user k in subset s in relay hop; X_(s)* is the updated relay hop flow for subset s; Z_(k)* is the updated relay hop flow for user k
 7. The method of claim 5, wherein said scheduling comprises based on access hop integral flow, updating relay hop user flows comprising ${X_{k}^{*} = \frac{\min \left\{ {{\sum\limits_{s:{{R{(k)}} \in s}}{w_{k,s}^{acc}Y_{k,s}}},F_{k}^{*}} \right\}}{w_{k}^{rel}}},$ ∀k; Update {circumflex over (X)}_(k)=┌X_(k)*┐ F_(k)* is the flow for user k returned by LP relaxation solution; w_(k,s) ^(acc) is the flow of user k in subset of relays (s) in access hop; w_(k) ^(rel) is the flow of user k in relay hop; X_(k)* is the updated relay hop flow for user k; Ŷ_(k,s) is the integral flow for user k in subset s in access hop; {circumflex over (X)}_(k) is the rounded integral flow for user k in relay hop
 8. The method of claim 2, wherein said scheduling further comprises converting fractional allocations to integral ones by assigning a tile to a wireless user with probability equal to said user's fractional allocation to obtain an output flow.
 9. The method of claim 1, wherein said scheduling further comprises considering only subsets of relays and every relay subset determining a corresponding subset of users, and for selected subset and its users allocating tiles on access hop and corresponding number of tiles on relay hop to sustain transmission flow on access hop, taking into account excess resource from previous allocations.
 10. The method of claim 1, wherein said scheduling problem as an integer program using subset allocation as variables comprises the following: ${PSAR}\text{:}\mspace{14mu} {Maximize}{\sum\limits_{s = 1}^{S}F_{s}}$ ${s.t.},{{{\sum\limits_{k \in s}{w_{k,s}^{rel}X_{s}}} \geq F_{s}};{\forall{s \in S}}}$ ${{\sum\limits_{k \in s}{w_{k,s}^{acc}Y_{s}}} \geq F_{s}};{\forall{s \in S}}$ ${{\sum\limits_{s}X_{s}} \leq {\gamma \; N}};{X_{s} \in \left\{ {0,1,\ldots \mspace{14mu},{\gamma \; N}} \right\}}$ ${{{\sum\limits_{s}Y_{s}} \leq {\left( {T - \gamma} \right)N}};{Y_{s} \in {\left\{ {0,1,\ldots \mspace{14mu},{\left( {T - \gamma} \right)N}} \right\}.{where}}}},{\gamma \in \left\{ {0,1,\ldots \mspace{14mu},T} \right\}},{{S = \left\{ {S_{1} \times S_{2}\mspace{14mu} \ldots \mspace{14mu} \times S_{R}} \right\}};}$ where N and T are the total number of channels and time slots, resulting in NT tiles in total for allocation; Xs and Ys indicate the # tiles allocated to subset s on relay and access hops respectively; a subset corresponds to a set of users with at most one user being picked from each relay; Fs is the weighted flow obtained subset s, which is given by the minimum flow resulting from the relay and access hops, weighted flow for a user in a subset (if user belongs to subset) on the access hop being given by w_(k,s) ^(acc)=w_(k)r_(k,s) ^(acc), where w_(k) is the weight of the user taking into account fairness and QoS, while r_(k,s) ^(acc) is the rate of the user in the presence of interference from other users in the subset who will be scheduled in tandem with the user, reusing the same allocated tiles. γ is the number of time symbols out of T in a frame that is allocated for relay hop transmission;
 11. The method of claim 1, wherein said scheduling comprises a weighted flow for a user in a subset (if user belongs to subset) on the relay hop is given by determining the relative fraction of time a wireless user needs to be active in the subset on the relay hop to deliver a given flow from the access hop: $w_{k,s}^{rel} = \frac{w_{k,s}^{acc}}{\sum\limits_{j \in s}\frac{w_{j,s}^{acc}}{w_{j}^{rel}}}$ where w_(k) is the weight of the user k taking into account fairness and quality of service QoS, while r_(k,s) ^(acc) is the rate of the user in the presence of interference from other users in the subset who will be scheduled in tandem with the user, reusing the same allocated tiles
 11. The method of claim 1, wherein said scheduling problem as an integer program using both subset and user allocation as variables comprises the following: ${CSAR}\text{:}\mspace{14mu} {Maximize}{\sum\limits_{k}F_{k}}$ subject  to, w_(k)^(rel)X_(k) ≥ F_(k); ∀k ${{\sum\limits_{a:{{R{(k)}} \in s}}{w_{k,s}^{acc}Y_{k,s}}} \geq F_{k}};{\forall k}$ ${{\sum\limits_{k}X_{k}} \leq {\gamma \; N}};{X_{k} \in {\left\{ {0,1,\ldots \mspace{14mu},{\gamma \; N}} \right\} \left\{ {{{{\sum\limits_{{k:{R{(k)}}} = r}Y_{k,s}} \leq Y_{s}};{\forall{r \in s}}},{{\forall{s \in {{{\sum\limits_{s}Y_{s}}} \leq {\left( {T - \gamma} \right)N}}}};Y_{s}},{Y_{k,s} \in {\left\{ {0,1,\ldots \mspace{14mu},{\left( {T - \gamma} \right)N}} \right\}.{where}}},{\gamma \in \left\{ {0,1,\ldots \mspace{14mu},T} \right\}},{ = \left\{ {{Subsets}\mspace{14mu} {of}\mspace{14mu} {relays}} \right\}}} \right.}}$ where N and T are the total number of channels and time slots, resulting in NT tiles in total for allocation; Xs and Ys indicate the # tiles allocated to subset s on relay and access hops respectively; a subset corresponds to a set of users with at most one user being picked from each relay; Fs is the weighted flow obtained subset s, which is given by the minimum flow resulting from the relay and access hops, weighted flow for a user in a subset (if user belongs to subset) on the access hop being given by w_(k,s) ^(acc)=w_(k)r_(k,s) ^(acc), where w_(k) is the weight of the user taking into account fairness and QoS, while r_(k,s) ^(acc) is the rate of the user in the presence of interference from other users in the subset who will be scheduled in tandem with the user, reusing the same allocated tiles. is the number of time symbols out of T in a frame that is allocated for relay hop transmission;
 12. The method of claim 1; wherein said scheduling comprises determining a corresponding subset of users according to  = {Subset  of  relays} ${{Map}\mspace{14mu} {_{m}}\text{:}\mspace{14mu} {\forall s}} = {{\left\{ {r_{1},\ldots \mspace{14mu},r_{p}} \right\} \in {\mspace{14mu} {define}\mspace{14mu} m_{s}}} = {{\left\{ {k_{1},\ldots \mspace{14mu},k_{p}} \right\} \mspace{14mu} {where}\mspace{14mu} k_{i}} = {{argmax}_{{k:{R{(k)}}} = r_{i}}\left\{ \frac{w_{k}^{rel}w_{k,a}^{acc}}{w_{k}^{rel} + w_{k,s}^{acc}} \right\}}}}$ R(k) is the relay with whom user k is associated; w_(k,s) ^(acc) is the flow of user k in subset of relays (s) in access hop; w_(k) ^(rel) is the flow of user k in relay hop; m_(s) is the subset of users corresponding to subset of relays in s
 13. The method of claim 1, wherein said scheduling determining subset (of users) on access hop delivering maximum flow per unit tile based on remaining unallocated tiles in each hop and comprising ${\hat{s} = {{argmax}_{s}\left\{ \frac{\sum\limits_{k \in m_{s}}{\min \left\{ {f_{k,s}^{rel},f_{k,s}^{acc}} \right\}}}{c_{s,r} + c_{a}} \right\}}},$ where m_(s) is the subset of users corresponding to subset of relays in s; c_(a) is the number of tiles allocated in access hop; c_(s,r) is the number of tiles required on relay hop to support the same amount of flow supported by the subset s with c_(a) tiles on the access hop; f_(k,s) ^(rel), f_(k,s) ^(acc) are the flow obtained by user k in subset s on the relay and access hops respectively.
 14. The method of claim 13, wherein said allocating determines appropriate number of tiles to be allocated to users in the selected subset on relay and access hops and comprises Access  hop  allocations:  Y_(k, s) = Y_(k, s) + c_(a), ∀k ∈ m_(s) ${{Relay}\mspace{14mu} {hop}\mspace{14mu} {allocations}\text{:}\mspace{14mu} X_{k}} = {X_{k} + {\left\lceil {\frac{f_{k,s}^{rel}}{w_{k}^{rel}} - E_{k}} \right\rceil \cdot {\forall{k \in m_{s}}}}}$ $\left. E_{k}\leftarrow{\left\lceil {\frac{f_{k,\hat{a}}^{rel}}{w_{k}^{rel}} - E_{k}} \right\rceil - \left( {\frac{f_{k,\hat{s}}^{rel}}{w_{k}^{rel}} - E_{k}} \right)} \right.$ Y_(k,ŝ) is allocation to user k in selected subset ŝ in access hop; w_(k) ^(rel) is the flow of user k in relay hop; X_(k): is allocation to user k in relay hop; w_(k) ^(rel) is the flow of user k in relay hop; E_(k) is excess allocation received by user k in relay hop. 